package com.itheima.service.impl;

import com.google.common.collect.Maps;
import com.itheima.service.UserPayService;

import java.util.Map;

/**
 * 为了方便我们从Spring中获取UserPayService的各个策略类,创建一个工厂类
 * @Date :2019-10-23 14:35
 * @Author : yuan_he_song
 */
public class UserPayServiceFactory {

    /** 定义一个Map容器用于存放不同类型的策略对象 */
    public static Map<Integer, UserPayService> serviceMap = Maps.newHashMap();

    /**
     * 根据类型获取不同的策略模式的实例
     */
    public static UserPayService getUserByType(Integer type){
        return serviceMap.get(type);
    }

    /**
     * 根据类型注册策略服务
     */
    public static void register(Integer type,UserPayService userPayService){
        serviceMap.put(type,userPayService);
    }


}
